1. Field of the Invention
The present invention relates to a positioning control system for positioning a magnetic head or the like controlled device at a high speed.
There is recently a tendency to demand, in a computer system, a transfer of large amounts of data at high speed, and therefore, auxiliary memory devices such as a magnetic disk drive and optical disk drive are also required to transfer large amounts of data at high speed to exchange data with a host device. To meet this requirement, it is essential for magnetic disk drives and optical disk drives, etc., to have a recording medium, e,g., a disk, having a high density recording surface (e.g., a track pitch thereof is less than 10 .mu.m).
A storage device such as a magnetic disk drive and an optical disk drive executes a so-called head seek operation for moving a head to a designated target track (target cylinder) position from a current track (cylinder) position on a disk by controlling an actuator. When the head is positioned to the designated target track position, a data writing or reading operation is carried out through the head, Further, in a printer, X-Y plotter, or the like recording apparatus, recording such as printing is carried out by moving and positioning a print head to the target position from the current position. These positioning controls are required to have a high speed positioning capability without generating vibrations on the actuator or the like. Further, the magnetic disk drive including a plurality of magnetic heads mounted on an actuator is required to position these magnetic heads at a high speed in consideration of deviations from normal track positions on the respective disks where the individual magnetic heads shoulds be positioned and displacements among the respective magnetic heads.
2. Description of the Related Art
The magnetic disk drive is, for example, constructed as shown in FIGS. 1(A) and 1(B). FIG. 1(A) is a schematic plan view of the magnetic disk drive, and FIG. 1(B) is a schematic side view thereof. The reference numeral 50 denotes magnetic disks, 51 a rotatable shaft, 52 an actuator, 53 arms, 54 gimbals, 55 core sliders, 56 a rotatable shaft. Ten magnetic disks 50 are fixed on the rotatable shaft 51, and are rotated by an unillustrated motor. It may be also appropriate to secure one or two magnetic disks 50 on the rotatable shaft 51. The core slider 55 is supported on each arm 53 through two gimbals 54, such that the core sliders 55 are opposed to opposite faces of the magnetic disks 50. When the arms 53 are rotated about the rotatable shaft 56 of the actuator 52, the core sliders 55 are moved radially of the magnetic disks 50. Thereupon, the magnetic heads are positioned at designated tracks, and data are written or read in or from the magnetic disks 50.
In such a magnetic disk drive, upon designation of the target track, the head is moved to the target track position on the disk by the actuator including a voice coil motor, etc., and data are written or read in or from the target track. In this case, for example, a target speed curve as shown in FIG. 2 is given from a table or the like in correspondence with the number of tracks between the present track position and the target track position. This target speed curve is representative of a deceleration characteristic for causing the head rotating at a given speed to stop at the target track position. The actuator is controlled according to the difference between the actual speed of the head and the target speed curve. Accordingly, the actuator is driven with a maximum possible driving force at the start of the head seek operation since the speed difference is large thereat. After the actual speed of the head coincides with the target speed curve, the deceleration control is executed in accordance with the target speed curve. This control (it is also referred to as a bang-bang control) is in general realized with a construction in which an analog computation is executed. Thus, there has been high likelihood of generating vibrations at the start of the head seek operation, because the actuator is driven with such a driving force as to saturate a power amplifier and the acceleration of the head varies greatly.
There is also known a system for controllably positioning the head by means of a digital computation using a digital signal processor(DSP). For example, a control system was previously proposed, in which such theoretically optimum trajectories as to cause a mechanism mounting the head to accelerate or decelerate upon being subjected to a low impact is obtained by means of the digital computation, and feedback and feedforward controls are executed so as to follow the trajectories (Japanese Unexamnined Patent Publication No. 3-233609, the related US, EPC, CA and KR patent applications are copending). In this control system, target trajectories are set as trajectories of the acceleration a, the speed v, and the position x which are expressed as low order algebraic functions of time as shown in FIG. 3, and the actuator is controlled so that the above variables follow these trajectories. A horizontal axis represents normalized time t.sub.n, while a vertical axis represents normalized values. An equation of motions of a system for moving a mass by a given distance L is as follows: ##EQU1## wherein boundary conditions are: ##EQU2## Here, x moved position, v=moving speed, a=acceleration, u=driving amount, M=mass, Kf=force constant, and T=target time for moving. It will be appreciated that Kf is a force constant which is referred to as BL [N/A] of the voice coil motor in the magnetic disk drive. The boundary conditions of the equation (0) at t=0, t=T are shown in equations (0a), (0b) respectively.
In designing the target trajectories, the target position x.sub.obj, the target speed V.sub.obj, and the target acceleration a.sub.obj are so set as to satisfy the equation (0). The optimum trajectories in the previously proposed invention are the ones which minimize an estimation function J=.intg.(0.about.T) (da/dt).sup.2 dt (where .intg.(0.about.T) is an integration on an interval between t=0 and t=T. Functions representing those trajectories are shown in the following equations: EQU x.sub.obj /L=t.sub.n.sup.3 (10-15t.sub.n +6t.sub.n.sup.2) (1) EQU v.sub.obj /(L/T)=30t.sub.n.sup.2 (1-t.sub.n.sup.2) (2) EQU a.sub.obj /(l/T.sup.2)=120t.sub.n (1-t.sub.n)(0.5-t.sub.n) (3)
wherein t denotes an elapsed time, T a target time, L a moving distance, and t.sub.n =t/T denotes a normalized time. FIG. 3 described above shows normalized values of the target position, the target speed, and the target acceleration defined in the equations (1) to (3) by curves x0, v0, and a0, and the horizontal axis thereof represents a normalized time t.sub.n =t/T.
Here, when the digital computation is executed using the DSP, the reason why the above-mentioned functions composed of a plurality of polynomials are utilized purposely will be briefly explained. Generally, the DSP has a control function which allows the program for digital computation including many digital filters to be excuted. To realize the positioning of the magnetic head, etc., at high speed, such a computation must be processed rapidly in real time. It has been confirmed that the speed of the digital computation for the digital functions composed of polynomials is higher than the speed thereof for analog functions composed of sine function, etc. In this case, the digital functions are essentially constituted by a number of polynomials in which a constant sampling period is defined as a basic parameter. Accordingly, in the case where the DSP is utilized, it is preferable that a target trajectory of a magnetic head, etc., should be designed by using functions composed of polynomials.
The trajectories represented by the equations (1) to (3) which will minimize the estimation function J are those to minimize a variation in the acceleration or deceleration during a moving time. Thus, the head can be moved stably. However, the settling after the head is completely moved is not considered. More specifically, the target acceleration during the movement is given by the equation (3), and the target speed and the target acceleration both become zero after the movement. Accordingly, (da.sub.obj /dt) becomes infinite at t=T, and the variation of the target acceleration becomes discontinuous at t=T. In view of this, it can be considered to extend an integration range so as to includes a settling period after the movement in addition to the interval (0.about.T). However, in this case, the trajectories obtained in accordance with the equations (1) to (3) are not optimum. In the case where the settling period after the movement gives a great influence on an access performance as in the disk device, it is necessary that (da.sub.obj /dt) is continuous at t=T.
Further in the case where the actual position, the actual speed, and the actual acceleration are so controlled as to follow the target trajectories determined in accordance with the equations (1) to (3), the actual measurement values generally follow the target trajectories constantly with some delays. There are also cases where the actual trajectories fluctuate in the vicinity of the target trajectories due to the disturbances and variations of control parameters. For instance, in the case where the force constant in the disk device (a constant indicative of proportion between the force generated by a current supplied to the voice coil motor and the current) is larger than a design value due to the dispersion or other cause, the actual position trajectory goes ahead of the target position trajectory, and the head reaches the target position before the speed becomes zero. For instance, the actual position x.sub.r, the actual speed v.sub.r, and the actual acceleration a.sub.r become as indicated by dotted lines as opposed to the target position X.sub.obj, the target speed V.sub.obj, and the target acceleration a.sub.obj indicated by solid lines in FIG. 13. Since neither the target speed v.sub.obj nor the target acceleration a.sub.obj is zero at time (T- ) when the actual position x.sub.r becomes zero, the feedback control is executed so as to make the target speed v.sub.obj and the target acceleration a.sub.obj zero. The actual speed v.sub.r and the actual acceleration a.sub.r vary greatly in this case, and accordingly the actual position x.sub.r, the actual speed v.sub.r, and the actual acceleration a.sub.r vary as if they were damped oscillation as indicated by the dotted lines respectively. Therefore, the previously proposed invention suffers a problem of a longer adjustment time to position the head accurately at the target position x.sub.obj.
The positioning control system using the trajectories determined by the equations (1) to (3) is obliged to have such a construction as to use the feedforward control a great deal, and accordingly has the problem that the phenomena as shown in FIG. 4 occur frequently on the ground that the target trajectories and the actual trajectories differ greatly when the parameters of controlled devices such as the head and the actuator vary. In other words, this system is susceptible to variations of the control system per se and external disturbances and therefore has poor robustness and accordingly has a problem especially in respect of mass production.
On the other hand, as a track density of a magnetic disk drive, etc., becomes higher, a displacement, i.e., position error (an amount of offset, about 2 .mu.m) between the respective data head, which may occur due to a thermal offset and thermal eccentricity, etc., cannot be neglected. Further, such a displacement is a function of a rotational position of a magnetic disk, etc. Furthermore, curves of an amount of displacement of the respective tracks are different from each other. Therefore, to overcome the trouble of displacement, it is essential for the follow control of the designated track to be executed by utilizing servo surface servo system including an exclusive servo cylinder, data surface servo system in which any one of data recording surfaces is set as a reference surface, or a hybrid servo system in combination of the other two servo systems.
In this case, there exist points to be considered especially when the above control system is applied to the data surface servo system (or embedded servo system) and the hybrid servo system. For instance, as shown in FIG. 1(B), displacement occurs among the magnetic heads in the magnetic disk device provided with a plurality of magnetic heads. The displacement occurs due to a thermal change (thermal off track) of the head suspention mechanism (arms 53, gimbals 54, etc.), and eccentricity among a plurality of magnetic disks. An amount of displacement varies according to at which sector positions of the tracks the heads are located. Accordingly, in the data surface servo system and hybrid servo system, the displacement is required to be corrected. A correction amount for displacement is determined by a head selection address (Hdsel) information (head number), a sector counter (SctCtr) (sector number) which indicates at which sector the head is located. A conventional method of calculating the correction amount for displacement will be described with respect to a cylinder servo system which is one of the hybrid servo systems.
According to this cylinder servo system, a servo position information is recorded on a certain dedicated servo surface and on a special cylinder of a data surface. The position information on the dedicated servo surface is the same as the one used in the servo dedicated surface system, and a two-phase servo signal system and the like are frequently adopted therein. On the special cylinder (cylinder other than normal cylinder for recording data) of the data surface are continuously recorded single-phase signals as shown in FIG. 5(a). More specifically, the signals are recorded along the track on AGC sections on opposite sides of a center line of a track TR.sub.n, on a PosA section on a side closer to a track TR.sub.n-l, and on a PosB section closer to a track TR.sub.n+1. FIG. 5(b) shows an example of a read signal; FIG. 5(c) shows a sector pulse; FIG. 5(d) shows an AGC enable timing signal; FIG. 5(e) shows an amplitude detecting signal; and FIG. 5(f) shows a sampling timing signal.
When the data magnetic head is positioned in the center of the track TR.sub.n, the amplitude of a reproduced signal in the PosA section is equal to that of a reproduced signal in the PosB section. However, when the head is displaced from the center of the track, the amplitude of the reproduced signal in the PosA section differs from that of the reproduced signal in the PosB section as shown in FIGS. 5(b) and 5(e), and accordingly the displacement amount is detected as (PosA-PosB). More specifically, the reproduced signal in the AGC section is AGC amplified using the sector pulse shown in FIG. 5(c) as a reference, so that the amplitude of the reproduced signal is maintained at a specified value during a period of T0. The AGC function is held beyond the period of T0. The next reproduced signal in the PosA section is subjected to the sampling in accordance with the sampling timing signal shown in FIG. 5(e) at time T1 given by the sector pulse, and is converted into a digital signal. The next reproduced signal in the PosB section is subjected to the sampling in accordance with the sampling timing signal shown in FIG. 5(f) at time T2 given by the sector pulse, and is converted into a digital signal. The displacement amount can be obtained by taking the difference between the two digital signals. For example, if PosA&lt;PosB, the head is displaced more toward the track TR.sub.n+1. Conversely, if PosA&gt;PosB, the head is displaced more toward the track TR.sub.n-1. The displacement amount corresponds to the difference (PosA-PosB). It is also appropriate to provide amplitude detecting circuits for two channels. With this arrangement, the amplitudes of the reproduced signals in the PosA and PosB sections can be maintained at the specified level, the difference (PosA-PosB) can be obtained in analog form by a differential amplifier, and the obtained difference is AD-converted at time T2.
The servo information is read from the special track of the data surface and is compared with the serve information from servo dedicated surface, to thereby calculate the displacement between the data head and servo head. Accordingly, the displacement amounts can be stored in a position correction table, and the positions of the heads can be corrected in accordance with this table. This position correction table is a two-dimensional table which is accessed according to the head selection address (Hdsel) information and a content of the sector counter (SctCtr). Further, in the case where the data surface servo system is adopted rather than the hybrid system, one of the data surfaces is used as a reference surface because there is no servo dedicated surface, and the displacement amounts of the other data surfaces relative to this reference surface are stored in the position correction table. In this way, the positions of the heads can be corrected similar to the former case.
When the trajectories are calculated to execute the positioning control so as to correct the position of the head as described above, there are given a moving cylinder number L.sub.0 which is the number of cylinders the head is to be moved over, an old head selection address Hold, and a new head selection address Hnew as an instruction from the host device, e.g. a host computer. If it is assumed that a current count value of the sector counter is Sold and a count value thereof when the movement is completed is Snew, an entire moving distance L is expressed as follows. EQU L=L.sub.0 +L.sub.c1 -L.sub.c0 ( 4) EQU L.sub.c0 =PosCorr [Sold, Hold] (5) EQU L.sub.c1 =PosCorr [Snew, Hnew] (6)
wherein L.sub.c0 denotes a position correction value at the current position, L.sub.c1 denotes a position correction value when the movement is completed, and Poscorr [] denotes a position correction table.
In the equations (4) to (6), the sector count value Snew is an unknown value, and accordingly the entire moving distance L cannot be calculated unless it is accurately estimated at which sector the head is located when the head is moved by the moving cylinder number L.sub.0. In the above method according to a prior art, the trajectories cannot be calculated, since the count value Snew of the sector counter when the movement is completed is unknown. If the positioning control is executed in disregard of the position corrected values L.sub.c0, L.sub.c1, the calculated trajectories do not give the necessary moving distance. This causes a great control error when the movement is completed, thereby deteriorating the characteristic of regulating the positioning.